﻿using System;
using System.Diagnostics;
using JetBrains.Annotations;
using static System.AttributeTargets;

namespace com.susi.util.toolkit {
    /// <summary>
    /// 额外描述这个变量的类型。
    /// 仅用于描述，实际并没有逻辑实现
    /// 相比注释而言，这个是强类型限制的
    /// </summary>
    [AttributeUsage(Field | Class | Parameter)][Conditional("DEBUG")]
    public class TRangeAttribute : Attribute {
        public TRangeAttribute([NotNull] Type type)
        {
            if (type == null) throw new ArgumentNullException(nameof(type));
        }

        public TRangeAttribute(string[] strRange) { }
    }
}